3  Canal endémico

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.4.4     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
ppc_mexico <- 
  data.frame(
    año = rep(1995:1999, each = 12),
    mes = factor(rep(c(1:12), 5)),
    casos = c(0, 0, 0, 0, 0, 1, 0, 2, 0, 2, 2, 1,
              2, 1, 2, 0, 0, 2, 2, 5, 3, 4, 1, 2,
              3, 9, 11, 19, 16, 15, 9, 19, 20, 14, 11, 4,
              8, 15, 4, 5, 8, 6, 7, 9, 8, 11, 6, 20,
              3, 5, 13, 2, 7, 1, 0, 7, 1, 4, 0, 0))
ppc_mexico_ie <- ppc_mexico |> 
  group_by(mes) |> 
  summarise(LI = quantile(casos, 0.25, type = 6),
            IE = quantile(casos, 0.5, type = 6),
            LS = quantile(casos, 0.75, type = 6)
  )
            
ppc_mexico_ie_pivot <-  ppc_mexico_ie |> 
  pivot_longer(cols = 2:4,
               names_to = "parámetro",
               values_to = "casos")
canal_endemico_ppc <- ppc_mexico |> 
  group_by(mes) |> 
  summarise(Piso_endémico = quantile(casos, 0.25, type = 6),
            Techo_endémico = quantile(casos, 0.75, type = 6),
            Índice_endémico = quantile(casos, 0.5, type = 6)
            ) 

ggplot(canal_endemico_ppc) +
  geom_point(aes(mes,Piso_endémico), col = "green") +
  geom_point(aes(mes,Techo_endémico), col = "red") +
  geom_point(aes(mes, Índice_endémico), col = "blue") +
  geom_line(aes(mes,Piso_endémico), col = "green", group = 1) +
  geom_line(aes(mes,Techo_endémico), col = "red", group = 1) +
  geom_line(aes(mes, Índice_endémico), col = "blue", group = 1) +
  ylab("Casos") + xlab("Mes") +
  ggtitle("Canal endémico", subtitle = "PPC México 1995-1999") +
  theme_minimal()

ggplot(canal_endemico_ppc) +
  geom_ribbon(aes(x = 1:12, xmin = 1, 
                    ymin = 0, ymax = 15), fill = "green") + 
  geom_ribbon(aes(x = 1:12, xmin = 1, 
                    ymin = Piso_endémico, ymax = 15), fill = "blue") +
  geom_ribbon(aes(x = 1:12, xmin = 1,
                  ymin = Índice_endémico, ymax = 15), fill = "yellow") +
  geom_ribbon(aes(x = 1:12, xmin = 1, 
                    ymin = Techo_endémico, ymax = 15), fill = "red") +
  xlab("Mes") + ylab("Casos") +ggtitle("Canal endémico PPC", subtitle = "México 1995-1999") +
  scale_x_continuous(breaks = seq(0,12, 1)) +
  scale_y_continuous(breaks = seq(0, 15, 1)) +
  theme_classic() +
  annotate(geom = "text",
           x = 2,
           y = min(canal_endemico_ppc$Piso_endémico),
           label = "Éxito") +
  annotate(geom = "text",
           x = 2,
           y = min(canal_endemico_ppc$Índice_endémico),
           label = "Zona segura") +
  annotate(geom = "text",
           x = 2,
           y = min(canal_endemico_ppc$Techo_endémico),
           label = "Zona de alarma") +
  annotate(geom = "text",
           x = 2,
           y = max(canal_endemico_ppc$Techo_endémico),
           label = "Epidemia")

# ggplot(canal_endemico_ppc) +
#     geom_line(aes(mes,Piso_endémico), fil = "black", group = 1, size = 1) +
#   geom_line(aes(mes,Techo_endémico), col = "black", group = 1, size = 2) +
#   geom_line(aes(mes, Índice_endémico), col = "black", group = 1, size = 2) +
#   geom_ribbon(aes(x = 1:12, xmin = 1, 
#                     ymin = 0, ymax = 15), fill = "green", alpha = 0.3) + 
#   geom_ribbon(aes(x = 1:12, xmin = 1, 
#                     ymin = Piso_endémico, ymax = 15), fill = "blue", alpha = 0.3) +
#   geom_ribbon(aes(x = 1:12, xmin = 1,
#                   ymin = Índice_endémico, ymax = 15), fill = "yellow", alpha = 0.3) +
#   geom_ribbon(aes(x = 1:12, xmin = 1, 
#                     ymin = Techo_endémico, ymax = 15), fill = "red", alpha = 0.3) +
#   xlab("Mes") + ylab("Casos") +ggtitle("Canal endémico PPC", subtitle = "México 1995-1999") + theme_minimal()

Se presentan los casos reportados de Cisticercosis en Guatemala entre el año 2010 y 2014

cisticercosis_guate <- data.frame(
  año = rep(2010:2014, each = 12),
  mes = rep(1:12, 5),
  casos = c(14, 16, 13, 14, 16, 15, 14,  16,  16,  16, 15, 16,
            2,   5, 3,   9,  5, 7,  10,  2,    3,  5,  3, 4,
            25, 22, 20, 20, 20, 18, 25, 18,  18,   17, 18, 18,
            15, 14, 18, 17, 17, 17, 15, 13,  14,   15, 15, 14,
            23, 24, 15, 22, 18, 20, 24, 19,  20,   19 , 22, 21)
  )

#Primeros 6 registros
head(cisticercosis_guate)
   año mes casos
1 2010   1    14
2 2010   2    16
3 2010   3    13
4 2010   4    14
5 2010   5    16
6 2010   6    15
################EJERCICIO REAL DE LA HOJA 2###################################

Además, se presentan 3 escenarios hipotéticos para el año 2015

e1 <- data.frame(año = rep(2015, 12),
                         mes = 1:12,
                 casos = c(6, 8, 10,
                           9, 14, 13,
                           12, 13, 15,
                           19, 22, 21)
)

e2 <- data.frame(año = rep(2015, 12),
                         mes = 1:12,
                 casos = c(14, 13, 14,
                           12, 16, 15,
                           14, 15, 14,
                           15, 14, 14)
)
                 
e3 <- data.frame(año = rep(2015, 12),
                         mes = 1:12,
                 casos = c(26, 28, 24, 23, 30, 32, 28, 30, 32, 28, 26, 27)
)
  1. Calcule la frecuencia de Éxito, Seguridad, Alarma y Epidemia de cada escenario

  2. Ordene los escenarios de mejor a peor

Una forma que se nos puede ocurrir para determinar cuál es el mejor escenario es graficarlos juntos y ver cuál tiene los valores más bajos cada mes, a continuación se presenta esa gráfica comparativa

ggplot(e1) +
  geom_line(aes(mes, casos), linetype = 1) +
  geom_point(aes(mes, casos)) +
  geom_line(aes(e2$mes, e2$casos), linetype = 2 ) +
  geom_point(aes(e2$mes, e2$casos), shape = 15) +
  geom_line(aes(e3$mes, e3$casos), linetype = 3) +
  geom_point(aes(e3$mes, e3$casos), shape = "*", size = 4) +
  scale_x_continuous(breaks= 1:12) +
  annotate(geom = "text", x = 1, y = 35, label = "• E1") +
  annotate(geom = "text", x = 1, y = 30, label = "■ E2") +
  annotate(geom = "text", x = 1, y = 25, label = "* E3") +
  theme_minimal()

Dada la gráfica podemos observar que el escenario 3 es el peor de todos, y que el escenario 1 es el mejor dado que presenta menos casos que el resto en la mayoría de los meses. Sin embargo, esto puede llevarnos a errores ya que no estamos tomando en cuenta el canal endémico. Una mejor forma de comparar gráficamente los escenarios es sobreponiéndolos en la gráfica del canal endémico. Veámoslo.

canal_endemico_cisticercosis <- cisticercosis_guate |> 
  group_by(mes) |> 
  summarise(Li = quantile(casos, 0.25, type = 6),
            Ie = quantile(casos, 0.5, type = 6),
            Ls = quantile(casos, 0.75, type = 6)
            )
ggplot(canal_endemico_cisticercosis) +
  geom_ribbon(aes(x = 1:12, xmin = 1,
                  ymin = 0, ymax = 36),
              fill = "green") +
  geom_ribbon(aes(x = 1:12, xmin = 1,
                  ymin = Li, ymax = 36), fill = "blue") +
  geom_ribbon(aes(x = 1:12, xmin = 1,
                  ymin = Ie, ymax = 36), fill = "yellow") +
  geom_ribbon(aes(x = 1:12, xmin = 1,
                  ymin = Ls, ymax = 36), fill = "red") +
   geom_line(aes(e1$mes, e1$casos), linetype = 1) +
  geom_point(aes(e1$mes, e1$casos)) +
  geom_line(aes(e2$mes, e2$casos), linetype = 2 ) +
  geom_point(aes(e2$mes, e2$casos), shape = 15) +
  geom_line(aes(e3$mes, e3$casos), linetype = 3) +
  geom_point(aes(e3$mes, e3$casos), shape = "*", size = 4) +
  scale_x_continuous(breaks = seq(1, 12, 1)) +
 scale_y_continuous(breaks = seq(0, 40 , 5)) +
 xlab("Mes") + ylab("Casos") +
  annotate(geom = "text", x = 2, y = 35, label = "• E1") +
  annotate(geom = "text", x = 2, y = 33, label = "■ E2") +
  annotate(geom = "text", x = 2, y = 31, label = "* E3") +
 theme_classic()

Con esta perspectiva queda más claro el panorama. El escenario 3 sigue presentándose como el peor de todos, pero ahora notamos que el escenario 1 que antes nos parecía mejor que el escenario 2 ahora nos parece peor ya que presenta 3 meses en el área endémica.

Otros factores importantes a tomar en cuenta: - El escenario 1 parece que sigue una tendencia a la alza, por tanto puede representar un riesgo mayor para los siguientes años. - El escenario 2 pese a tener la mayoría del año valores más altos que el escenario 1 se muestra más estable, por tanto es más probable que no escale.